Crate fyrox_core
source ·Expand description
Core data structures and algorithms used throughout Fyrox.
Some of them can be useful separately outside the engine.
Re-exports§
pub use arrayvec;
pub use byteorder;
pub use nalgebra as algebra;
pub use num_traits;
pub use parking_lot;
pub use rand;
pub use uuid;
pub use futures;
pub use instant;
pub use notify;
pub use type_traits::prelude::*;
Modules§
- Simple logger, it writes in file and in console at the same time.
- A generational arena - a contiguous growable array type which allows removing from the middle without shifting and therefore without invalidating other indices.
- Built-in scoped profiler. You must compile with feature “enable_profiler” to force profiler gather info! It is disabled by default because it is not cheap and takes 3-5% of performance for internal needs.
- Rectangle packer is used to pack set of smaller rectangles into one big, it used in texture atlas packer.
- Runtime reflection
- Immutable string + immutable string storage. See docs of
ImmutableString
andImmutableStringStorage
for more info. - A wrapper for a variable that hold additional flag that tells that initial value was changed in runtime.
- Visitor is a tree-based serializer/deserializer.
- Resource watcher allows you to track changed resources and “tell” resource manager to reload them.
Macros§
- Defines as_(variant), as_mut_(variant) and is_(variant) methods.
- Implements
ComponentProvider::query_component_ref
andComponentProvider::query_component_mut
in a much shorter way. - Parse
Uuid
s from string literals at compile time.
Structs§
Traits§
- A trait for entities that have name.
Functions§
- Appends specified extension to the path.
- “Transmutes” array of any sized type to a slice of bytes.
- Tries to find an entity by its name in a series of entities produced by an iterator.
- Tries to find an entity by its name in a series of entities produced by an iterator.
- Performs hashing of a sized value by interpreting it as raw memory.
- Strip working directory from file name. The function may fail for one main reason - input path is not valid, does not exist, or there is some other issues with it.
- Utility function that replaces back slashes \ to forward /. Internally, it converts the input path to string (lossy - see
Path::to_string_lossy
) and replaces the slashes in the string. Finally, it converts the string to the PathBuf and returns it. This method is intended to be used only for paths, that does not contain non-unicode characters. - Takes a vector of trivially-copyable values and turns it into a vector of bytes.
- “Transmutes” value of any sized type to a slice of bytes.